﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace InsideDL.MISData
{
    public class DataSaveCen:DataMatrix
    {
        public object GetDataRS(string[] p_csvs, string p_path
            , string[] p_months, string p_currentDay)
        {
            string[] p_para = new[] { p_csvs[1], p_csvs[0], p_currentDay
                ,  p_months[0],p_months[1],p_csvs[2]};
            string sql = getSQLStatement(p_para);
            return getCSVDataByRecordSet(sql, p_path);
            //System.Data.DataTable dt = getCSVData(sql, p_path);
            //return new object();
        }

        protected string getSQLStatement(string[] p_para)
        {
            string v1 = "{0} 月餘額]  - [{1} 月餘額";

            if (p_para[4].Equals("12"))
            {
                v1 = string.Format("{0} 月餘額", p_para[3]);
            }
            else
            {
                v1 = string.Format(v1, p_para[3], p_para[4]);
            }
            p_para[4] = v1;

            return string.Format( @"
SELECT
    年度 AS 資料年月
	,分行別
	,幣別 
	, 大版塊
	,小版塊
	,科目
    ,ROUND([{3} 月積數]/{2},2) AS 當月平均
FROM {0} AS C  
WHERE
    (
		C.科目 LIKE '11%'
		OR
		C.科目 LIKE '13%'
		OR
		C.科目 LIKE '1812%'		
    )

UNION ALL

SELECT
    年度 AS 資料年月
	,分行別
	,幣別 
	, 大版塊
	,小版塊
	,科目
    ,[{4}] AS 當月發生數
FROM {1} AS A
WHERE
    (
       A.科目 LIKE '4501%'
	   OR
	   A.科目 LIKE '5501%'
	   OR
	   A.科目 LIKE '5929008%'
    )

UNION ALL

SELECT
    年度 AS 資料年月
	,分行別
	,幣別 
	, 大版塊
	,小版塊
	,科目
    ,ROUND([{3} 月積數]/{2},2) AS 當月平均
FROM {5} AS D  
WHERE
    (		
		D.科目 LIKE '21%'
		OR
		D.科目 LIKE '2321028%'
		OR 
		D.科目 LIKE '2371%'
		OR
		D.科目 LIKE '24%'
		OR
		D.科目 LIKE '2511%'
    )
	

",p_para);
        }
    }
}
